package com.ninong.ker.admin.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import com.ninong.ker.admin.rest.vo.MenuVO;
import com.ninong.ker.admin.service.dto.UserDTO;
import com.ninong.ker.common.response.CmdResponse;

/**
 * 登录service
 * @author cmd
 *
 */
public interface LoginService {
	
	/**
	 * 登录
	 * @param user
	 * @return
	 * @throws Exception 
	 */
	CmdResponse login(UserDTO user) throws Exception;

	/**
	 * 可用菜单
	 * @return
	 */
	List<MenuVO> listMenus();

	/**
	 * 获取当前用户信息(权限)
	 * @return
	 */
	List<String> listInfo();

	/**
	 * 在线用户
	 * @param dto
	 * @return
	 */
	PageInfo<JSONObject> listOnline(UserDTO dto);

	/**
	 * 驱逐某个登录用户
	 * @param keys
	 */
	void removeOnline(String[] keys);

	/**
	 * 租户切换
	 * @param id
	 */
	Map<String, Object> changeTenant(String id);
}
